package com.hrbxlh.dao;

import java.util.List;
import java.util.Map;

import org.springframework.stereotype.Repository;

/**
* -------------------------------------------------------
* Copyright (c) 2017, 鑫联华信息科技股份有限公司
* All rights reserved.
* FileName：MyCourseDao.java
* Description：我的课程MyCourseDao类,负责查询登录人的课程信息
* History：
* Date           Author               Desc
* 2017.4.5		  xzx                 建立
* -------------------------------------------------------
*/

@Repository
public interface MyCourseDao {

	/**
	 * @description 获取教师的我的课程信息
	 * @param Map<String,Object> paramMap 教师工号
	 * @return List<Map<String, Object>>  课程集合
	 * @throws Exception
	 */
	public List<Map<String, Object>> getTeacherCourse(Map<String, Object> paramMap) throws Exception;
	
	/**
	 * @description 获取学生的我的课程信息
	 * @param Map<String,Object> paramMap 学号
	 * @return List<Map<String, Object>>  课程集合
	 * @throws Exception
	 */
	public List<Map<String, Object>> getStuCourse(Map<String, Object> paramMap) throws Exception;
	
	/**
	 * @description 获取教师的课程表信息
	 * @param Map<String,Object> paramMap 工号
	 * @return List<Map<String, Object>>  课程表集合
	 * @throws Exception
	 */
	public List<Map<String, Object>> getTeacherCouseTab(Map<String, Object> paramMap) throws Exception;
	
	/**
	 * @description 获取学生的课程表信息
	 * @param Map<String,Object> paramMap 学号
	 * @return List<Map<String, Object>>  课程表集合
	 * @throws Exception
	 */
	public List<Map<String, Object>> getStuCouseTab(Map<String, Object> paramMap) throws Exception;
	
	/**
	 * @description 获取教师的课程表信息(用于上一周下一周)
	 * @param Map<String,Object> paramMap 工号
	 * @return List<Map<String, Object>>  课程表集合
	 * @throws Exception
	 */
	public List<Map<String, Object>> getTeacherCourseTabSearch(Map<String, Object> paramMap) throws Exception;
	
	/**
	 * @description 获取学生的课程表信息(用于上一周下一周)
	 * @param Map<String,Object> paramMap 学号 
	 * @return List<Map<String, Object>>  课程表集合
	 * @throws Exception
	 */
	public List<Map<String, Object>> getStuCourseTabSearch(Map<String, Object> paramMap) throws Exception;
	
	/**
	 * @description 查询老师教的哪种类型的课程id集合
	 * @param Map<String,Object> paramMap 学号 
	 * @return List<Map<String, Object>>  课程表集合
	 * @throws Exception
	 */
	public List<Map<String, Object>> getTeaTeachCourseId(Map<String, Object> paramMap) throws Exception;
	
	/**
	 * @description 老师查询本周课程即是选课又是正常课的
	 * @param Map<String,Object> paramMap 学号 
	 * @return List<Map<String, Object>>  课程表集合
	 * @throws Exception
	 */
	public List<Map<String, Object>> getTeacherCouseTabAll(Map<String, Object> paramMap) throws Exception;
	
	/**
	 * @description 查询上周的课表（老师的）既是教师排课又是选课的课程
	 * @param Map<String,Object> paramMap 学号 
	 * @return List<Map<String, Object>>  课程表集合
	 * @throws Exception
	 */
	public List<Map<String, Object>> getTeacherCourseTabSearchAll(Map<String, Object> paramMap) throws Exception;
	
	/**
	 * @description 获取我的虚拟机信息，需要用是不是主机的字段进行排序，主机在上从在下
	 * @param Map<String,Object> paramMap 学号 
	 * @return List<Map<String, Object>> 
	 * @throws Exception
	 */
	public List<Map<String, Object>> getMyvirtualAddress(Map<String, Object> paramMap) throws Exception;

	/**
	 * @description 查询这个学生这个课这个章节的试验的评价信息
	 * @param Map<String,Object> paramMap 学号 
	 * @return List<Map<String, Object>> 
	 * @throws Exception
	 */
	public Map<String, Object> getMyTestAssign(Map<String, Object> paramMap) throws Exception;
}
